[セッションレポート] プロンプトエンジニアリング入門(AWS-TC-04)#AWSSummit
こんにちは、AWS事業本部の荒平(@0Air)です。
AWS Summit Japan 2024にて、AWS-TC-04「プロンプトエンジニアリング入門」のセッションに参加しましたのでレポートします。
オンデマンド配信を見よう
AWS Summit Japanの登録を行うことでオンデマンドで視聴可能です。(現地参加された方は改めての登録は不要です。)
"AWS-TC-04"を検索してみてください。
セッション概要
このセッションでは、基盤モデルの基本とプロンプトエンジニアリングの主要な概念について学びます。 また、プロンプトを設計するためのベストプラクティスと、ゼロショット、フィューショット、 Chain of Thought プロンプティングなどのいくつかのプロンプティング手法について、例を通して学びます。
セッションスピーカー: 佐中 晋 氏
所属:アマゾン ウェブ サービス ジャパン合同会社
トレーニングサービス本部 テクニカルインストラクター
セッションレポート
聴講レポートです。全文書き起こしではございませんので、詳細が気になる方は是非オンデマンド配信を御覧ください!
アジェンダ
- 基盤モデルと大規模言語モデル
- プロンプトエンジニアリングの主要概念
- 基本的なプロンプトテクニック
- ゼロショットプロンプト
- 数ショットプロンプト
- 思考の連鎖プロンプト
基盤モデルと大規模言語モデル
- 基盤モデルとは
- 生成AIの"脳"にあたる部分
- ラベルなしデータを事前に学習し、ユーザーからの入力に合わせて回答する関数のようなもの
- 学習にかかるコストを抑えることができ、容易かつ迅速に利用可能
- 基盤モデルの種類
- テキストからテキスト
- Chatbotの裏側で動いているもの
- テキストから画像
- 画像生成の裏側で動いているもの
- テキストからテキスト
- 大規模言語モデルとは
- Large Language Model(LLM)
- ユーザーからのテキスト、動画、画像などを入力し、出力が得られる(マルチモーダル)
- 近年は開発が活発になっている
- トランスフォーマーアーキテクチャ
- エンコーダーとデコーダーにより構築される機械学習モデル
- テキストをベクトル化し、言語として回答の近さを数値化している
- 次にどのような文章が来るか、確率を計算して出力する
- 並列が可能で、高速にモデルをトレーニングすることができる
- 大規模言語モデルのユースケース
- 顧客体験の向上
- 生産性の向上
- コンテンツ作成の支援
- プロセス最適化
- 基盤モデルのトレーニング
- ファインチューニング
- 事前学習済みの基盤モデルに対して追加データを与え、再学習を通して目的の回答を得る手法
- 負荷が高く、時間がかかる
- プロンプトエンジニアリング
- 生成AIに与えるインプットを変え、目的の回答を得る方法
- 迅速に適用させることが可能
- LLMの力を引き出す最速の方法
- ファインチューニング
プロンプトエンジニアリングの主要概念
- プロンプトの要素
- インストラクション
- LLMに対する指示
- コンテキスト
- 質問の背景、会話の履歴など
- 入力データ
- 文章を要約させるための対象データ、ナレッジベースなど
- 出力インジゲーター
- 2文で要約しなさい、など望ましい回答を補足
- インストラクション
- プロンプトの例
- 以下のプロンプトはそれぞれ、左列の各要素に対応しています
要素 | プロンプト本文 |
---|---|
インストラクションと出力インジゲーター | 次のサービスレビューを2文に要約してください |
コンテキスト | 店舗: オンライン サービス: 配送 |
入力データ | レビュー: Amazon Prime Studentは、お金を節約したい学生にとって最適な選択肢です。送料が無料になるのが最大のメリットだと思います。3人の子供がいる働くママであると同時に学生でもある私にとって、無料のお急ぎ便は大変時間の節約になります。必要なものをすぐに、時には翌日には手に入れることができます。また、通常のPrime会員の半額で Prime会員が使えるのと同じ、無料の動画サービスや電子書箱のサービスも利用できます。Amazon PrimeStudentは大学生、専門学校生が利用でき、学校生活をより便利にするための様々なサービスがあります。私は教科書や服、授業の合間の映画鑑賞にもAmazon Prime Studentを利用しています。Amazon Prime Student は全ての大学生にとって最適な選択だと思います。 |
- 効果的なプロンプトを設計するためのベストプラクティス
- 明確かつ簡潔に
- コンテキストを含める
- 目的に合わせた指示をする
- 出力を明確化する
- 質問から始める
- 回答例を提供する
- 複雑なタスクを分割する
- 実験して創造性を発揮する
- プロンプトのベストプラクティスに沿っているのは?
- ① 以下の数値の合計を計算します 数値:4, 8, 12, 16
- ② 4, 8, 12, 16の合計値はいくつですか?
- この場合、後者が明確かつ簡潔に書かれているので優れている
- ベストプラクティスに沿っているかを確認するクイズが数問ありました。他のクイズについては配信を御覧ください!
基本的なプロンプトテクニック
- ゼロショットプロンプト
- 回答例無しでLLMにタスクを依頼する
- 非常に規模の大きいモデルの性能を確認することができる
- まずはシンプルなプロンプトで始めてみる
- ゼロショットプロンプトの例
- 次のソーシャルメディアへの投稿の感情をポジティブ、ネガティブ、ニュートラルのいずれかに分類してください
「電気自動車革命をお見逃しなく!AnyCompany は電気自動車向けのマッスルカーを捨て、投資家にとって大きなチャンスを生み出しています」 - 出力: ポジティブ
- 次のソーシャルメディアへの投稿の感情をポジティブ、ネガティブ、ニュートラルのいずれかに分類してください
- 数ショットプロンプト
- タスクにコンテキスト情報または出力のいくつかのショットを提供
- 数ショットプロンプトの例
- 次の文章の感情を、ポジティブ、ネガティブ、ニュートラルのいずれかに分類してください。以下が回答例です。
新技術に関する不正行為の申し立てを研究機関が受けています
回答:ネガティブ
声高な反対派が減少し、海上風力発電所は成長を続けています
回答:ポジティブ
州当局による最新の査対象は製造工場です
回答: - 出力: ポジティブ
- 次の文章の感情を、ポジティブ、ネガティブ、ニュートラルのいずれかに分類してください。以下が回答例です。
- 思考の連鎖(Chain of Thought: CoT)
- LLMにタスクを提供して、段階的に考えるよう依頼する
- 答えを出力するまでの過程も出してくれる
- いきなり答えを出させるよりも、回答の精度が向上することがある
- 人間に途中式に書かせるのと同様
- 思考の連鎖の例
- 思考の連鎖により、LLMに段階を踏んで考えさせる例です。
プロンプト 出力 次の情報に基づいて、どの車両の頭金が最も高額かを答えてください 車両Aの合計費用は40,000ドルで、30%の頭金が必要です。
車両Bの合計費用は 50,000ドルで、20%の頭金が必要です
ステップバイステップで考えてください車両Aの頭金は 40,000 ドルのうち30%で、これは(30/100)* 40,000 - 12,000 ドルです。
車両Bの頭金は、50,000 ドルのうち20%で、(20/100)*50,000=10,000 ドルです。
車両Aは車両B よりも高額な頭金を必要としていることがわかります- どのように考えるかを数ショットで例を提供して回答精度を上げることも可能
-
例:
ある週のテレビチャンネルの視聴者は次のとおりです。
月曜日:6,500人
火曜日:6,400人
水曜日:6,300人
問題:金曜日には何人の視聴者が予想できますか?
回答:上記の数値に基づくと、これ以上の情報がない限り、1日に 100人の視聴者が減少しています。この傾向が次の日も続くと仮定すると、翌日の木曜日には6,200人の視聴者、さらに翌日の金曜日には6,100人の視認者が見込まれます。
問題:土曜日には何人の視聴者が見込まれますか?ステップバイステップで考えてください。 - 一発で聞くと誤答する可能性があるような問いでも、段階的に回答させることで正答率を上げることができるテクニック
まとめ
- 生成AIによる、より良い回答を得るためのプロンプトエンジニアリングの方法、ベストプラクティスを紹介
- 回答精度を向上させるためのプロンプトテクニックがある
感想
プロンプトの質を向上させて、生成AIが作り出す答えを操作するプロンプトエンジニアリングについて非常に分かりやすいセッションでした。
特に「効果的なプロンプトを設計するためのベストプラクティス」は既に生成AIを使い始めている方にも刺さる内容で、これからのスタンダードになると思います。
AWS公式サイトにて、プロンプトエンジニアリングについて解説されているページがありましたので、興味がある方はこちらもご参考ください。
今回紹介されなかったプロンプティング手法が解説されています。
生成AIをこの先使いこなしていきたいので、オンデマンド配信をもう一度見返して理解度を深めたいと思います。
それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!